#ifndef FILESORTER_HPP_INCLUDED
#define FILESORTER_HPP_INCLUDED

#include <QtCore>

/** Utility class to sort the collection using the hierarchy given in the configuration file */
class FileSorter {
    private:
        QString source;
        QString target;
        unsigned int totalSize, movedSize;
        unsigned short progression;
    public:
        FileSorter();
        /** Move folder contents to the given target path
         * @param check: check file using CRC32
        */
        void moveOnly(bool check);
        /** Move folder contents to the given target path by copying the original file
         * @param check: check file using CRC32
         * @param erase: erase source file after moving
        */
        void move(bool check, bool erase);
        QString getSource();
        QString getTarget();
        void setSource(QString src);
        void setTarget(QString dest);
        unsigned int  getTotalSize();
        unsigned int  getMovedSize();
        unsigned short  getProgression();
};

#endif // FILESORTER_HPP_INCLUDED
